/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package mascotrin;

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.net.URL;
import javax.swing.ButtonGroup;
import javax.swing.ImageIcon;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import org.freixas.jwizard.JWizardDialog;
import org.freixas.jwizard.JWizardPanel;
import java.sql.*;

/**
 *
 * @author Ricardo
 */
public class Wizard extends JWizardDialog{

    static final String Licencia = "Se prohibe Usar este producto para uso Comersial\n Solo podra usarse como demo para la Clase de Programacion por Eventos";
    public Wizard()
    {
        setModal(true);
        setTitle("Base de Datos");
        URL url = getClass().getResource("/doc/example/Example1.gif");
        // URL url = getClass().getResource("MascotaFondo.jpg");    
        setWizardIcon(new ImageIcon(url));
        addWizardPanel(new Step0());
        addWizardPanel(new Step1());
        addWizardPanel(new Step2());
        addWizardPanel(new Step3());
        addWizardPanel(new Step4());
        disableCancelAtEnd();
        pack();
        setVisible(true);
        
    }
    /**
     * @param args the command line arguments
     */
//    public static void main(String[] args) {
//        // TODO code application logic here
//        Wizard m = new Wizard();
//    }

    
    private class Step0 extends JWizardPanel
    {
        public Step0()
        {
            setStepTitle("Bienvenidos a la Creacion de Base de Datos");
            JPanel contentPane = getContentPane();
            contentPane.setLayout(new BorderLayout());
            JLabel label = new JLabel("<Html>"+ "Se Creara la Base de Datos para Mascotrin <br>"+
                    "presione <b>Siguiente<b> para iniciar");
            contentPane.add(label,BorderLayout.NORTH);
            setBackStep(-1);
            setNextStep(1);
        }
    }
    private class Step1 extends JWizardPanel
    {
        
        public Step1(){
            setStepTitle("Licencia");
            JPanel contentPane = getContentPane();
            contentPane.setLayout(new BorderLayout());
            JTextArea text = new JTextArea(20,40);
            text.setText(Licencia);
            JScrollPane scroll = new JScrollPane(text);
            JCheckBox check = new JCheckBox("Acepto");
            check.addItemListener(new ItemListener() {
                public void itemStateChanged(ItemEvent e) {
                    if(e.getStateChange() == ItemEvent.SELECTED)
                        {
                        setNextStep(2);
                        }
                    else{
                        setNextStep(0);
                    }
                }
            });
            contentPane.add(scroll);
            contentPane.add(check,BorderLayout.SOUTH);
            //contentPane.add(text,BorderLayout.NORTH);
            setBackStep(0);
//            setNextStep(2); 
        }
    
    }
    
    private class Step2 extends JWizardPanel
    {
        public boolean instalar = true;
        public Step2()
        {
            setStepTitle("Base de Datos Mascotrin");
            JPanel contentPane = getContentPane();
            contentPane.setLayout(new BorderLayout());
            JLabel lblpregunta = new JLabel("Estas Seguro que desea instalar la Base de Datos Mascotrin?");
            contentPane.add(lblpregunta,BorderLayout.NORTH);
            JRadioButton si = new JRadioButton("Si");
            JRadioButton no = new JRadioButton("No");
            si.setSelected(true);
            si.addItemListener(new ItemListener() {
                public void itemStateChanged(ItemEvent e) {
                    if(e.getStateChange() == ItemEvent.SELECTED)
                    {
                        instalar = true;
                    }
                }
            });
              no.setSelected(true);
            no.addItemListener(new ItemListener() {
                public void itemStateChanged(ItemEvent e) {
                    if(e.getStateChange() == ItemEvent.SELECTED)
                    {
                        instalar = false;
                    }
                }
            });
            ButtonGroup group = new ButtonGroup();
            group.add(si);
            group.add(no);
            JPanel radioBox = new JPanel(new GridLayout(2,1));
            JLabel prueba = new JLabel();
            prueba.setText("Si instala la base de Datos cualquier otra base se borrara");
            radioBox.add(si);
            radioBox.add(no);
            radioBox.add(prueba);
            contentPane.add(radioBox);
            setBackStep(1);
           setNextStep(3);
        }
           protected void next(){
            if(instalar==true)
            {
                BarraProceso bp = new BarraProceso();
                //LLama al metodo para crear la base de Datos
                CambiosSQL cliente = new CambiosSQL("create table Cliente(IdCliente nvarchar(50),Nombre nvarchar(50),ApellidoMaterno nvarchar(50),ApellidoPaterno nvarchar(50),Calle nvarchar(50),Colonia nvarchar(50),NExterior nvarchar(50),CodigoPostal nvarchar(50),FechaNacimiento datetime,Telefono nvarchar(50))");
                bp.avanza(20);
                CambiosSQL mascota = new CambiosSQL("create table Mascota(IdCliente nvarchar(50),Nombre nvarchar(50),Raza nvarchar(50),Tamaño nvarchar(15),Color nvarchar(50),Peso float,Pelo nvarchar(50),Sexo nvarchar(15),FechaNacimiento datetime)");
                bp.avanza(40);
                CambiosSQL producto = new CambiosSQL("create table Producto(IdProducto int,Nombre nvarchar(50),Descripcion nvarchar(50),Precio float,Cantidad float)");
                bp.avanza(60);
                CambiosSQL venta = new CambiosSQL("create table Venta(Folio int,IdProducto int,IdCliente nvarchar(50),Mascota nvarchar(50),Cantidad float,fecha datetime)");
                bp.avanza(80);
                CambiosSQL avisos = new CambiosSQL("create table Avisos(Aviso varchar(255),TipoAviso varchar(100),FechaAviso datetime)");
                bp.avanza(100);
                //bp.terminar=true;
                setNextStep(3);  
                 super.next();
            }    
            else
            {
                setNextStep(4);  
                 super.next();
            }
        }
    }
    private class Step3 extends JWizardPanel
    {
        public Step3(){
            setStepTitle("Base de Datos Mascotrin");
            JPanel contentPane = getContentPane();
            contentPane.setLayout(new BorderLayout());
            JLabel lblpregunta = new JLabel("Felizidades a instalado la base de Datos");
            contentPane.add(lblpregunta,BorderLayout.NORTH);
            finish();
        }             
    }
    private class Step4 extends JWizardPanel
    {
        public Step4(){
            setStepTitle("Base de Datos Mascotrin");
            JPanel contentPane = getContentPane();
            contentPane.setLayout(new BorderLayout());
            JLabel lblpregunta = new JLabel("No se instalo la base de Datos");
            contentPane.add(lblpregunta,BorderLayout.NORTH);
            finish();
        }             
    }

}


